#ifndef FAULTAPI_HPP
#define FAULTAPI_HPP
#include "fault_iit.hpp"
#include "fault_integral.hpp"
#include "fault_big.hpp"
#include "fault_unbalance.hpp"
#include "fault_less.hpp"
#include "fault_equal.hpp"
#include "variable.hpp"

using namespace motion;

#define FAULT_RESUMETIME		800
#define FAULT_TIMEMULT			1
#define FAULT_TIME_ADVANCE	50		///<动作提前量

typedef struct
{
	fault::FaultStatusTPDF tLongDelay;			///<长延时
	fault::FaultStatusTPDF tShortDelay;			///<短延时
	fault::FaultStatusTPDF tNLongDelay;			///<N相长延时
	fault::FaultStatusTPDF tNShortDelay;		///<N相短延时
	fault::FaultStatusTPDF tUmb;						///<不平衡
	fault::FaultStatusTPDF tBlock;					///<堵转
	fault::FaultStatusTPDF tEarth;					///<接地
}FaultCheckResultTPDF;										///<故障结果

/** 
* @brief      	故障初始化
* @retval     	None
*/
extern void FaultApiInit(void);

/** 
* @brief      	故障检测
* @retval     	故障状态
*/
extern FaultCheckResultTPDF* FaultUpdateValue(void);

#endif
